#ifndef _ROSNODEMANAGER_H_
#define _ROSNODEMANAGER_H_

#include <string>
#include <unistd.h>
#include <future>
#include <sys/types.h>
#include <sys/wait.h>
#include <vector>

#include "Logger.h"
#include "redisConnector.h"
#include "Json.h"

namespace dxy::easyWebServer
{

class RosNodeManager
{
public:
    static RosNodeManager & getInstance();

    std::vector<std::string> getAllNode();
    int killNode(const std::string & SN_ID, bool isBlock = false);
    pid_t createPublicRosNode(const std::string & SN_ID, const uint16_t port);

private:
    RosNodeManager();
    ~RosNodeManager();

private:
    std::future<void>      m_futrue;


};

}


#endif